package com.xydtech.system.service;

import com.xydtech.common.core.domain.Ztree;
import com.xydtech.system.domain.FivelevelAddr;

import java.util.List;

/**
 * 五级行政区划Service接口
 *
 * @author JHON
 * @date 2021-07-11
 */
public interface IFivelevelAddrService {
    /**
     * 查询五级行政区划
     *
     * @param code 五级行政区划ID
     * @return 五级行政区划
     */
    public FivelevelAddr selectSysFivelevelAddrById(String code);

    /**
     * 查询五级行政区划
     *
     * @param upCode 五级行政区划父级ID
     * @return 五级行政区划
     */
    List<FivelevelAddr> getAddrList(String upCode);

    /**
     * 查询五级行政区划列表
     *
     * @param fivelevelAddr 五级行政区划
     * @return 五级行政区划集合
     */
    public List<FivelevelAddr> selectSysFivelevelAddrList(FivelevelAddr fivelevelAddr);

    /**
     * 新增五级行政区划
     *
     * @param fivelevelAddr 五级行政区划
     * @return 结果
     */
    public int insertSysFivelevelAddr(FivelevelAddr fivelevelAddr);

    /**
     * 修改五级行政区划
     *
     * @param fivelevelAddr 五级行政区划
     * @return 结果
     */
    public int updateSysFivelevelAddr(FivelevelAddr fivelevelAddr);

    /**
     * 批量删除五级行政区划
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteSysFivelevelAddrByIds(String ids);

    /**
     * 删除五级行政区划信息
     *
     * @param code 五级行政区划ID
     * @return 结果
     */
    public int deleteSysFivelevelAddrById(String code);

    /**
     * 查询五级行政区划树列表
     *
     * @return 所有五级行政区划信息
     */
    public List<Ztree> selectSysFivelevelAddrTree(String code);
}
